<!DOCTYPE html>
<!-- 声明html5标准 -->
<html lang='zh'>
<!-- 这个主要是给搜索引擎看的，搜索引擎不会去判断该站点是中文站还是英文站，所以这句话就是让搜索引擎知道，你的站点是中文站
对html页面本身不会有影响,这些现在都是html规范，你的页面越规范，就越容易被收录 -->

<head>
    <meta charset='UTF-8'>
    <!-- 声明使用UTF-8 Unicode编码，UTF-8编码优先采用的编码 -->
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <!--  X-UA-Compatible是针对IE新加的一个设置 声明兼容到edge -->
    <meta name='viewport' content='width=device-width, initial-scale=no'>
    <!--width:可视区域的宽度，值可为数字或关键词device-width intial-scale:页面首次被显示是可视区域的缩放级别，取值1.0则页面按实际尺寸显示，无任何缩放 -->
    <title>Document</title>
    <!-- 引入vue.js -->
    <script src='./js/vue.js'></script>
</head>

<body>
    <div id='root'>
        1.子组件向父组件传值.
        传送数据:this.$emit() //第一个参数为自定义事件类型,第二个参数是要传的数据.
        接收数据:在子组件标签内写入@自定义事件类型="函数",在父组件methods内定义,函数有一个形参,就是我们要接收的数据.
        2.如何定义一个私有组件: 在vue实例内,写入components:{组件名字:{template:"选择器"}}
        3.监听,watch:{list(){}}, 在vue实例上挂在watch,写入函数,函数名为data里定义的值, 当对应data里面的值发生改变时,执行函数. 
        4.computed:{} 自己定义一个函数名,当计算属性函数内引用到的data里面的值发生改变时触发计算属性重新进行,函数内需要返回值, 
        返回值会赋值给函数名. 计算属性的使用方法,使用是不加入(), 可以当data里面的值来使用,  
        text:{
            get(){

            },
            set(){
                改变data里面的值以来触发get函数. 
            }
        }
        计算属性只有当引用data里面的值发生改变时才会触发. 
        计算属性由缓存机制,方便下次使用. 
        5:ref属性:首先要给dom添加ref="名字",在需要操作dom的地方写入this.$refs.名字.
        可以操作组件, 父组件可以调用子组件里面的data和methods.  
        6:监听和计算属性有什么不同? 
        共同点:都能监听到data里面的从而触发函数. 
        不同点:计算属性可以当做data里面值来使用,并且有缓存机制.在重新调用这个计算属性时不会重新计算,
        watch则是data里面的值改变时触发函数

    </div>
    <script>
        let vue = new Vue({
            // 选择控制区域,通过选择器去选到他，工作中一般使用id选择器;
            el: '#root',
            // 数据储存位置
            data: {},
            // 方法的储存位置
            methods: {}
        })
    </script>
</body>

</html>